184 research outputs found
Coordination Contracts as Connectors in Component-Based Development
Several proposals for component-based development
methods have started to appear. However, the emphasis is
still very much on the development of components as
opposed to the development with components. The main
focus is on how to generate ideal reusable components not
on how to plug existing components and specify their
interactions and connections.
The concept of a coordination contract (Andrade and
Fiadeiro 1999; Andrade and Fiadeiro 2001; Andrade,
Fiadeiro et al. 2001) has been proposed to specify a
mechanism of interaction between objects based on the
separation between structure, what is stable, and
interaction, what is changeable. This separation supports
better any change of requirements, as contracts can be
replaced, added or removed dynamically, i.e. in run-time,
without having to interfere with the components that they
coordinate. A coordination contract corresponds to an
expressive architectural connector that can be used to plug
existing components.
In this paper we integrate the concept of a coordination
contract with component-based development and show
how coordination contracts can be used to specify the
connectors between components
Modelling the GSM handover protocol in CommUnity
CommUnity is a formal approach to software architecture. It has a precise, yet intuitive mathematical semantics based on category theory. It supports, at the methodological level, a clear separation between computation, coordination, and distribution (including mobility). It provides a simple state-based language for describing component behaviour that is inspired by Unity and Interacting Processes. It also addresses composition as a first class concern and accounts for the emergence of global system properties from interconnections. This paper describes the approach and available tool support by modelling essential aspects of the GSM handover protocol. We also sketch a framework that we are implementing for the distributed execution of such specifications using Klava, a Java library for mobile agent systems based on tuple spaces
A graph-semantics of business configurations
In this paper we give graph-semantics to a fundamental part of the semantics of the service modeling language SRML. To achieve this goal we develop a new graph transformation system for what we call 2-level symbolic graphs. These kind of graphs extend symbolic graphs with a simple 2-level hierarchy that can be generalized to arbitrary hierarchies. We formalize the semantics using this new graph transformation system using a simple example of a trip booking agent.Postprint (published version
Connectors for mobile programs
Software architecture has put forward the concept of connector to express complex relationships between system components, thus facilitating the separation of coordination from computation. This separation is especially important in mobile computing due to the dynamic nature of the interactions among participating processes. We present connector patterns, inspired in Mobile UNITY, that describe three basic kinds of transient interactions: action inhibition, action synchronisation, and message passing. The connectors are given in COMMUNITY, a UNITY-like program design language which has a semantics in category theory. We show how the categorical framework can be used for applying the proposed connectors to specific components and how the resulting architecture can be visualized by a diagram showing the components and the connectors
Category Theory and Model-Driven Engineering: From Formal Semantics to Design Patterns and Beyond
There is a hidden intrigue in the title. CT is one of the most abstract
mathematical disciplines, sometimes nicknamed "abstract nonsense". MDE is a
recent trend in software development, industrially supported by standards,
tools, and the status of a new "silver bullet". Surprisingly, categorical
patterns turn out to be directly applicable to mathematical modeling of
structures appearing in everyday MDE practice. Model merging, transformation,
synchronization, and other important model management scenarios can be seen as
executions of categorical specifications.
Moreover, the paper aims to elucidate a claim that relationships between CT
and MDE are more complex and richer than is normally assumed for "applied
mathematics". CT provides a toolbox of design patterns and structural
principles of real practical value for MDE. We will present examples of how an
elementary categorical arrangement of a model management scenario reveals
deficiencies in the architecture of modern tools automating the scenario.Comment: In Proceedings ACCAT 2012, arXiv:1208.430
Architectural primitives for distribution and mobility
In this paper, we address the integration of a distribution dimension in an architectural approach to system development and evolution based on the separation between coordination and computation. This third dimension allows us to separate key concerns raised by mobility, thus contributing to our ability to handle the complexity that is inherent to systems required to operate in 'Internet time and space'
- …